package com.seeyon.apps.receiveWen.util;

import com.alibaba.fastjson.JSONObject;
import com.seeyon.client.CTPRestClient;
import com.seeyon.client.CTPServiceClientManager;
import com.seeyon.ctp.common.AppContext;


public class RestWebServiceClient {

    //REST用户登录名
	public static String userName= AppContext.getSystemProperty("receiveWen.restName");
	public static String password= AppContext.getSystemProperty("receiveWen.restPassword");
	
	//本地
	//public static String userName  = "rest";
	//public static String password = "a3505446-7190-41f7-9bd6-16e526361ce0";
	
    //定义REST动态客户机
    private  CTPRestClient client = null;
    private final static String host = AppContext.getSystemProperty("receiveWen.host");
    

    public RestWebServiceClient(String loginName){
        //取得指定服务主机的客户端管理器。
        //参数为服务主机地址，包含{协议}{Ip}:{端口}，如http://127.0.0.1:8088
        CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance(host);
      //取得REST动态客户机。
        client = clientManager.getRestClient();
        //登录校验,成功返回true,失败返回false,此过程并会把验证通过获取的token保存在缓存中
        //再请求访问其他资源时会自动把token放入请求header中。
        client.authenticate(userName, password);
        client.bindUser(loginName);
    }
    
    
    /**
     * 根据ID下载表单HTML
     * @param affairId
     * @param memberId
     * @return
     */
    public String importJsonGovdoc(JSONObject json){
    	
        //client.get("orgMember?loginName=q3", String.class);

         
        String result = client.post("govdoc/api/v1/importer",json, String.class);
        //System.out.println(result[0]);//只是表单数据
        return result;//完整的HTML信息（包括数据信息）

    }
    
    /**
     * 根据ID下载表单HTML
     * @param affairId
     * @param memberId
     * @return
     */
    public String getHTMLById(String affairId,String memberId){
    	
        client.get("orgMember?loginName=macx", String.class);
         
        String result[] = client.get("form/export/" + affairId + "/"+ memberId, String[].class);
        //System.out.println(result[0]);//只是表单数据
        return result[1];//完整的HTML信息（包括数据信息）

    }
         
}
        
    
        
